package com.situ.staff.service;

import java.util.ArrayList;
import java.util.List;

import com.github.pagehelper.PageInfo;
import com.situ.staff.bean.Project;
import com.situ.staff.bean.Work;

public interface ProjectService {
	/**
	 * 
	 * @author: JavaSiegeLoin(Gang)
	 * @param staff_ids
	 * @创建日期: 2021年9月3日 下午8:07:39
	 * @Title: add
	 * @throws:
	 * @类描述-Description:添加项目s
	 */
	int add(Project project, ArrayList<Integer> staff_ids) throws Exception;

	/**
	 * 
	 * @author: JavaSiegeLoin(Gang)
	 * @创建日期: 2021年9月7日 下午3:24:11
	 * @Title: getAll
	 * @throws:
	 * @类描述-Description:查询所有项目
	 */
	List<Project> getAll();

	/**
	 * 
	 * @author: JavaSiegeLoin(Gang)
	 * @创建日期: 2021年9月7日 下午3:23:47
	 * @Title: remove
	 * @throws:
	 * @类描述-Description:根据id删除
	 */
	int remove(int id);

	/**
	 * 
	 * @author: JavaSiegeLoin(Gang)
	 * @创建日期: 2021年9月7日 下午3:24:31
	 * @Title: getById
	 * @throws:
	 * @类描述-Description:根据id查询项目
	 */
	Project getById(int id);

	/**
	 * 
	 * @author: JavaSiegeLoin(Gang)
	 * @创建日期: 2021年9月7日 下午3:23:03
	 * @Title: getStaffByProjectId
	 * @throws:
	 * @类描述-Description:根据项目id 获取员工
	 */
	List<Work> getStaffByProjectId(Integer project_id);

	/**
	 * 
	 * @author: JavaSiegeLoin(Gang)
	 * @创建日期: 2021年9月7日 下午4:08:01
	 * @Title: edit
	 * @throws:
	 * @类描述-Description:编辑信息
	 */
	int edit(Project project, Integer[] staff_ids);

	/**
	 * 
	 * @author: JavaSiegeLoin(Gang)
	 * @param project
	 * @创建日期: 2021年9月23日 下午12:49:53
	 * @Title: getForPa
	 * @throws:
	 * @类描述-Description:分页操作SS
	 */
	PageInfo getForPage(Integer page, Integer limit, Project project);

	// 批量删除
	int batchDelete(ArrayList<Integer> ids);

}
